#!/bin/bash

EMAIL="samantha@gmail.com"

# 资源使用阈值
CPU_THRESHOLD=75
MEM_THRESHOLD=75
DISK_THRESHOLD=80
NET_THRESHOLD=50

# 获取系统资源使用情况
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
MEM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
DISK_USAGE=$(df / | grep / | awk '{print $5}' | sed 's/%//g')
NET_USAGE=$(netstat -i | awk 'NR==2{ print 100 - $4 }')

# 检查CPU使用率
if (( $(echo "$CPU_USAGE > $CPU_THRESHOLD" | bc -l) )); then
    echo "警告：CPU使用率过高（$CPU_USAGE%）" | mail -s "CPU使用率警告" $EMAIL
fi

# 检查内存使用率
if (( $(echo "$MEM_USAGE > $MEM_THRESHOLD" | bc -l) )); then
    echo "警告：内存使用率过高（$MEM_USAGE%）" | mail -s "内存使用率警告" $EMAIL
fi

# 检查磁盘使用率
if (( $(echo "$DISK_USAGE > $DISK_THRESHOLD" | bc -l) )); then
    echo "警告：磁盘使用率过高（$DISK_USAGE%）" | mail -s "磁盘使用率警告" $EMAIL
fi

# 检查网络流量
if (( $(echo "$NET_USAGE > $NET_THRESHOLD" | bc -l) )); then
    echo "警告：网络流量过高（$NET_USAGE%）" | mail -s "网络流量警告" $EMAIL
fi